var const let的区别

var let const
作用域 函数级 块级 块级
可否重声明 可以 不能 不能
可否重赋值 可以 可以 不能
在全局中声明 覆盖全局属性 遮蔽全局属性 遮蔽全局属性

如何使用let和const?

默认使用const,只有在需要改变变量时才用let

因为大部分变量的值在初始化后不改变